package com.yunlong.service;

import com.yunlong.dto.LoginSuccessDto;
import com.yunlong.dto.MessageSuccessDto;
import com.yunlong.dto.UserInfoDto;
import com.yunlong.dto.UserPasswordDto;
import com.yunlong.form.*;

/**
 * @author guorui
 */
public interface UserService {

    /**
     * 普通用户登录
     * @param userLoginForm
     * @return LoginSuccessDto
     */
    LoginSuccessDto userLogin(UserLoginForm userLoginForm);
    /**
     * 普通用户退出登录
     */
    String LoginOut(String userId);
    /**
     * 普通用户修改个人信息
     */
    String updateUserInfo(UpdateUserForm updateUserForm);

    /**
     * 忘记密码功能，查询用户的密码
     * @param email
     * @return UserPasswordDto
     */
    UserPasswordDto selectUserPassword(String email);
    /**
     * 忘记密码之重置密码,登录界面
     */
    MessageSuccessDto resetPassword(UserPasswordResetForm userPasswordResetForm);
    /**
     * 忘记密码之重置密码,系统界面
     */
    String resetPasswordInner(UpdateUserPasswordInner updateUserPasswordInner);
    /**
     * 查询用户基本资料
     */
    UserInfoDto showUserInfo(String userId);
}
